Cesta k aplikaci na siti

Otázka od: Viktor Marek

1. 11. 2004 18:56

Zdravim

Potrebuji spoustet aplikaci po siti. V aplikaci si zjistuji cestu pres
"ExtractFilePath(ParamStr(0));"
Pokud spustim aplikaci primo na PC kde je fyzicky ulozena je vse OK. Pokud
ji ale spustim po siti vraci se cesta jako "\\Nejake PC\adresar\ " Existuje
nejaky zpusob (prikaz) aby se aplikaci spustene po siti vracela cesta toho
PC kde je aplikace fyzicky umistena? (c:\nejaky adresar\"
Diky za radu
Viktor Marek
viktor@vol.cz


Odpovedá: Roman Bradac

2. 11. 2004 9:34

Taky zdravim,
Mas moznost spustit aplikaci jako server (nebo pri instalaci na PC), ktera
ti do souboru, databaze atd, ulozi pozadovanou cestu, a kazdy kdo si spusti
vzdalene aplikaci si ji precte. Horsi to vsak muze byt jestlize aplikaci
nainstalujes na fileserver, kde kazdy pocitac si mapuje (prirazuje pismeno)
svoji cestu k adresari (napr. Novell) serveru.

> -----Original Message-----
> From: delphi-l-owner@clexpert.cz [mailto:delphi-l-owner@clexpert.cz] On
> Behalf Of Viktor Marek
> Sent: Monday, November 01, 2004 6:56 PM
> To: delphi-l@clexpert.cz
> Subject: Cesta k aplikaci na siti
>
> Zdravim
>
> Potrebuji spoustet aplikaci po siti. V aplikaci si zjistuji cestu pres
> "ExtractFilePath(ParamStr(0));"
> Pokud spustim aplikaci primo na PC kde je fyzicky ulozena je vse OK. Pokud
> ji ale spustim po siti vraci se cesta jako "\\Nejake PC\adresar\ "
> Existuje
> nejaky zpusob (prikaz) aby se aplikaci spustene po siti vracela cesta toho
> PC kde je aplikace fyzicky umistena? (c:\nejaky adresar\"
>
> Diky za radu
>
> Viktor Marek
> viktor@vol.cz
>



Odpovedá: Ludek ZITA

2. 11. 2004 9:50

 On Behalf Of Viktor Marek
> Potrebuji spoustet aplikaci po siti. V aplikaci si zjistuji
> cestu pres "ExtractFilePath(ParamStr(0));" Pokud spustim
> aplikaci primo na PC kde je fyzicky ulozena je vse OK. Pokud
> ji ale spustim po siti vraci se cesta jako "\\Nejake
> PC\adresar\ "
Existuje nejaky zpusob (prikaz) aby se
> aplikaci spustene po siti vracela cesta toho PC kde je
> aplikace fyzicky umistena? (c:\nejaky
adresar\"
Ahoj,
No ja myslim, ze to je tak dobre, protoze napriklad na serveru je
adresar C:\Nekde\Nejaky\Adresar, ktery je z ostatnich pocitacu viditelny
treba jako \\pocitac\Adresar a nejaka stanice muze ten adresar mit
namapovany jako disk treba jako "S:" no a ParamStr(0) nebo
Application.ExeName ti spravne vraci cestu bud
C:\Nekde\Nejaky\Adresar\program.exe nebo \\pocitac\Adresar\program.exe
nebo S:\program.exe podle toho odkud si to spustil.
Nechapu k cemu by ti byla cesta 'C:\Nekde\Nejaky\Adresar' v pripade ze
jsi aplikaci spustil z toho compu, ktery to ma namapovany jako S:
Pokud Ti jde o pristup k ini souboru nebo jinym datum, tak to prece je
vzdy podle toho kde jsi to spustil cili v uvdenych pripadech
C:\Nekde\Nejaky\Adresar\nastaveni.ini nebo
\\pocitac\Adresar\nastaveni.ini nebo S:\nastaveni.ini je vzdy ten samy
soubor.
Ludek


Odpovedá: Pave Gazda

2. 11. 2004 10:09


>> PC\adresar\
" Existuje nejaky zpusob (prikaz) aby se
>> aplikaci spustene po siti vracela cesta toho PC kde je
>> aplikace fyzicky umistena? (c:\nejaky adresar\"
>
> Nechapu k cemu by ti byla cesta 'C:\Nekde\Nejaky\Adresar' v pripade ze
> jsi aplikaci spustil z toho compu, ktery to ma namapovany jako S:

No, zrovna jsem na takovy pripad narazil. Z programu chci po databazovem
serveru,
aby vytvoril novou databazi a k tomu mu musim zadat cestu C:\neco\...

Tak by me taky zajimala nejaka moznost to zjistit.

Pavel



Odpovedá: Roman Bradac

2. 11. 2004 10:59

Co pak je to za databazovi server?

> -----Original Message-----
> From: delphi-l-owner@clexpert.cz [mailto:delphi-l-owner@clexpert.cz] On
> Behalf Of Pave Gazda
> Sent: Tuesday, November 02, 2004 10:09 AM
> To: delphi-l@clexpert.cz
> Subject: Re: Cesta k aplikaci na siti
>
>
> >> PC\adresar\
" Existuje nejaky zpusob (prikaz) aby se
> >> aplikaci spustene po siti vracela cesta toho PC kde je
> >> aplikace fyzicky umistena? (c:\nejaky adresar\"
> >
> > Nechapu k cemu by ti byla cesta 'C:\Nekde\Nejaky\Adresar' v pripade ze
> > jsi aplikaci spustil z toho compu, ktery to ma namapovany jako S:
>
> No, zrovna jsem na takovy pripad narazil. Z programu chci po databazovem
> serveru,
> aby vytvoril novou databazi a k tomu mu musim zadat cestu C:\neco\...
>
> Tak by me taky zajimala nejaka moznost to zjistit.
>
> Pavel
>
>
>



Odpovedá: Pave Gazda

2. 11. 2004 12:52



> Co pak je to za databazovi server?
>

Pervasive



Odpovedá: Viktor Marek

2. 11. 2004 13:32

Zdravim

Udelal jsem utilitku na backupovani databaze MSSQL serveru. Pokud je
utilitka spustena primo na PC kde jede MSSQL server pak chodi. Pokud vsak
tuto utilitku pustim z jineho PC pak je to v pytli. Uz jen
"OSWin:=GetEnvironment('Comspec'); " mi vrati cestu k cmd.exe na PCcku, ze
ktereho jsem sitove spustil utilitku. Proste spusteni utilitky skonci nekde
mezi nebem a zemi. Navic je asi dost velky problem v tom, ze se prikaz
vykonava pres CommandLine.

Tedy jde mi o zpusob jak utilitku spustit na serveru po siti tak aby se
chovala jako kdybych ji spustil primo na serveru. Samozrejmne se da spoustet
i pres planovac na serveru, ale jde mi o zpusob jak ji spustit po siti

Cesta:=ExtractFilePath(ParamStr(0));
Script:='osql.exe parametry';
Prikaz:=GetEnvironment('Comspec');
WinExecAndWait32(Prikaz + ' /c' + Script,0);

To je asi v kostce jadro problemu.

Diky za radu

Viktor Marek
viktor@vol.cz

>Subject: Re: Cesta k aplikaci na siti


Odpovedá: Roman Bradac

2. 11. 2004 13:47

Uprimne, nikdy sem s tim nedelal, musel jsem se mrknout na internet. Nic
mene vypada to jako sql server. Napriklad MySql, a mam pocit ze jsem to
zahledl i na MSSQL , ma tabulku s promenymi. Jednou s promenou je i cesta k
datum, standartne: datadir: "c:\mysql\data". Da se s velkou pravdepodobnosti
predpokladat, ze Pervasive ji bude mit take. Pravdou take je ze tato
informace je ti asi k nicemu protoze tabulku ci databazi vytvoris jen sql
prikazem, pokud to ovsem u Pervasive neni jinak.

Roman

> -----Original Message-----
> From: delphi-l-owner@clexpert.cz [mailto:delphi-l-owner@clexpert.cz] On
> Behalf Of Pave Gazda
> Sent: Tuesday, November 02, 2004 12:40 PM
> To: delphi-l@clexpert.cz
> Subject: Re: Cesta k aplikaci na siti
>
>
>
> > Co pak je to za databazovi server?
> >
>
> Pervasive
>
>
>



Odpovedá: Pave Gazda

2. 11. 2004 14:08

> zahledl i na MSSQL , ma tabulku s promenymi. Jednou s promenou je i cesta
> k
> datum, standartne: datadir: "c:\mysql\data". Da se s velkou
> pravdepodobnosti
> predpokladat, ze Pervasive ji bude mit take. Pravdou take je ze tato
>

No vzdyt o to prave jde. Mam aplikaci, ktera chce vytvorit databazi
na ceste "\\server\data\atd..." (namapovano jako "X:\mojedata\atd..") a
hodilo by se mi, kdybych to mohl prevest
na cestu "c:\neco\atd..." abych mohl tu databazi vytvorit.


Pavel


Odpovedá: Ludek ZITA

2. 11. 2004 17:17

On Behalf Of Pave Gazda
> No vzdyt o to prave jde. Mam aplikaci, ktera chce vytvorit
> databazi na ceste "\\server\data\atd..." (namapovano jako
> "X:\mojedata\atd..") a
> hodilo by se mi, kdybych to mohl prevest
> na cestu "c:\neco\atd..." abych mohl tu databazi vytvorit.

Ahoj,
No pak je to tedy konstanata kterou si zapis pri instalaci do ini
souboru (v tom samem adresari) a pak ji cti treab takhle (ini soubor se
bude jmenovat stejne jako exe)

with TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini')) do
 try
   Cesta := ReadString('Cesta','Cesta','');
 finally
   Free;
 end;

Ludek


Odpovedá: Ludek ZITA

2. 11. 2004 17:36

 On Behalf Of Viktor Marek
> Udelal jsem utilitku na backupovani databaze MSSQL serveru.
> Pokud je utilitka spustena primo na PC kde jede MSSQL server
> pak chodi. Pokud vsak tuto utilitku pustim z jineho PC pak je
> to v pytli. Uz jen "OSWin:=GetEnvironment('Comspec'); " mi
> vrati cestu k cmd.exe na PCcku, ze ktereho jsem sitove
> spustil utilitku. Proste spusteni utilitky skonci nekde mezi
> nebem a zemi. Navic je asi dost velky problem v tom, ze se
> prikaz vykonava pres CommandLine.

Ahoj,
Tak pouzij normalne SQL prikazy a connect databaze je ti jedno kde exe
lezi :
To co chces udelat je IMHO "znasilnovani" systemu.
Naviz tim ziskas kontrolu nad pravy kdo ten backup muze udelat.


Syntax
Backing up an entire database:

BACKUP DATABASE { database_name | @database_name_var }
TO < backup_device > [ ,...n ]
[ WITH
    [ BLOCKSIZE = { blocksize | @blocksize_variable } ]
    [ [ , ] DESCRIPTION = { 'text' | @text_variable } ]
    [ [ , ] DIFFERENTIAL ]
    [ [ , ] EXPIREDATE = { date | @date_var }
        | RETAINDAYS = { days | @days_var } ]
    [ [ , ] PASSWORD = { password | @password_variable } ]
    [ [ , ] FORMAT | NOFORMAT ]
    [ [ , ] { INIT | NOINIT } ]
    [ [ , ] MEDIADESCRIPTION = { 'text' | @text_variable } ]
    [ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
    [ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable }
]
    [ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]
    [ [ , ] { NOSKIP | SKIP } ]
    [ [ , ] { NOREWIND | REWIND } ]
    [ [ , ] { NOUNLOAD | UNLOAD } ]
    [ [ , ] RESTART ]
    [ [ , ] STATS [ = percentage ] ]
]

Backing up specific files or filegroups:

BACKUP DATABASE { database_name | @database_name_var }
    < file_or_filegroup > [ ,...n ]
TO < backup_device > [ ,...n ]
[ WITH
    [ BLOCKSIZE = { blocksize | @blocksize_variable } ]
    [ [ , ] DESCRIPTION = { 'text' | @text_variable } ]
    [ [ , ] DIFFERENTIAL ]
    [ [ , ] EXPIREDATE = { date | @date_var }
        | RETAINDAYS = { days | @days_var } ]
    [ [ , ] PASSWORD = { password | @password_variable } ]
    [ [ , ] FORMAT | NOFORMAT ]
    [ [ , ] { INIT | NOINIT } ]
    [ [ , ] MEDIADESCRIPTION = { 'text' | @text_variable } ]
    [ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
    [ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable }
]
    [ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]
    [ [ , ] { NOSKIP | SKIP } ]
    [ [ , ] { NOREWIND | REWIND } ]
    [ [ , ] { NOUNLOAD | UNLOAD } ]
    [ [ , ] RESTART ]
    [ [ , ] STATS [ = percentage ] ]
]

Ludek


Odpovedá: Pave Gazda

3. 11. 2004 7:21




> On Behalf Of Pave Gazda
>> No vzdyt o to prave jde. Mam aplikaci, ktera chce vytvorit
>> databazi na ceste "\\server\data\atd..." (namapovano jako
>> "X:\mojedata\atd..") a
>> hodilo by se mi, kdybych to mohl prevest
>> na cestu "c:\neco\atd..." abych mohl tu databazi vytvorit.
>
> No pak je to tedy konstanata kterou si zapis pri instalaci do ini
> souboru (v tom samem adresari) a pak ji cti treab takhle (ini soubor se

Jak ji mam zapsat pri instalaci, kdyz ji neznam.
Navic, z jiz vytvorene databaze si ji umim zjistit.

Nehledam zpusoby, jak to obejit, jen jsem se pridal k puvodnimu dotazu a
uvedl priklad,
na ktery jsem prave narazil.

Pavel



Odpovedá: Roman Bradac

3. 11. 2004 9:56

Mam obavy, ze ti nic jineho nez to obejit nezbyva, protoze jestlize spoustis
aplikaci na vydalenem PC tak ji mas nahranou v pameti sveho PC a prave k
tomu to PC se vytahuji vsechny promene systemu. Jedinou vyjimkou je
terminalovy pristup, kde aplikace bezi v pameti vzdaleneho pocitace. To asi
nebude tvuj pripad, ze?



> -----Original Message-----
> From: delphi-l-owner@clexpert.cz [mailto:delphi-l-owner@clexpert.cz] On
> Behalf Of Pave Gazda
> Sent: Wednesday, November 03, 2004 7:22 AM
> To: delphi-l@clexpert.cz
> Subject: Re: Cesta k aplikaci na siti
>
>
>
>
> > On Behalf Of Pave Gazda
> >> No vzdyt o to prave jde. Mam aplikaci, ktera chce vytvorit
> >> databazi na ceste "\\server\data\atd..." (namapovano jako
> >> "X:\mojedata\atd..") a
> >> hodilo by se mi, kdybych to mohl prevest
> >> na cestu "c:\neco\atd..." abych mohl tu databazi vytvorit.
> >
> > No pak je to tedy konstanata kterou si zapis pri instalaci do ini
> > souboru (v tom samem adresari) a pak ji cti treab takhle (ini soubor se
>
> Jak ji mam zapsat pri instalaci, kdyz ji neznam.
> Navic, z jiz vytvorene databaze si ji umim zjistit.
>
> Nehledam zpusoby, jak to obejit, jen jsem se pridal k puvodnimu dotazu a
> uvedl priklad,
> na ktery jsem prave narazil.
>
> Pavel
>
>
>



Odpovedá: Richard Kejval

3. 11. 2004 13:31

Viktor Marek wrote:
> Potrebuji spoustet aplikaci po siti. V aplikaci si zjistuji cestu pres
> "ExtractFilePath(ParamStr(0));"
> Pokud spustim aplikaci primo na PC kde je fyzicky ulozena je vse OK. Pokud
> ji ale spustim po siti vraci se cesta jako "\\Nejake PC\adresar\ "
Existuje
> nejaky zpusob (prikaz) aby se aplikaci spustene po siti vracela cesta toho
> PC kde je aplikace fyzicky umistena? (c:\nejaky adresar\"

Presne na tento problem se hodi DCOM server. Program muzes spustit z
jakehokoliv pocitace a presto vzdy bezi jen tam kde je exe. My takhle mame
udelane napr. zalohovani na FB a neni to nic sloziteho..

S pozdravem
ing. Richard Kejval
mobil: 602477679
http://www.icsoftware.cz


Odpovedá: Jiri Kratochvil

3. 11. 2004 14:07

Doporucoval bych pouziti "ini" souboru!!! Je to jednoduche a prakticke.
Jednoduse se daji menit cesty k datum.



Jiri Kratochvil
3A - AUTO AUDIO ALARM, s.r.o.
Husova ul. 74, 251 01 Ricany u Prahy
Tel/Fax +420 323605003
GSM +420 605 210211
E-mail: kratochvil@3a.cz
----- Original Message -----
From: "Richard Kejval" <kejval.delphi@centrum.cz>
To: <delphi-l@clexpert.cz>
Sent: Wednesday, November 03, 2004 1:31 PM
Subject: Re: Cesta k aplikaci na siti


> Viktor Marek wrote:
> > Potrebuji spoustet aplikaci po siti. V aplikaci si zjistuji cestu pres
> > "ExtractFilePath(ParamStr(0));"
> > Pokud spustim aplikaci primo na PC kde je fyzicky ulozena je vse OK.
Pokud
> > ji ale spustim po siti vraci se cesta jako "\\Nejake PC\adresar\ "
> Existuje
> > nejaky zpusob (prikaz) aby se aplikaci spustene po siti vracela cesta
toho
> > PC kde je aplikace fyzicky umistena? (c:\nejaky adresar\"
>
>
> Presne na tento problem se hodi DCOM server. Program muzes spustit z
> jakehokoliv pocitace a presto vzdy bezi jen tam kde je exe. My takhle mame
> udelane napr. zalohovani na FB a neni to nic sloziteho..
>
>
> S pozdravem
> ing. Richard Kejval
> mobil: 602477679
> http://www.icsoftware.cz
>
>
>
>
>



Odpovedá: Ludek ZITA

3. 11. 2004 21:18

 On Behalf Of Pave Gazda
> Jak ji mam zapsat pri instalaci, kdyz ji neznam.
> Navic, z jiz vytvorene databaze si ji umim zjistit.
>
> Nehledam zpusoby, jak to obejit, jen jsem se pridal k
> puvodnimu dotazu a
> uvedl priklad,
> na ktery jsem prave narazil.
>

Ahoj,
No prece to do nejakeho adresare instalujes, to prece pri instalaci vis.

Ludek


Odpovedá: Pave Gazda

4. 11. 2004 8:58

> Ahoj,
> No prece to do nejakeho adresare instalujes, to prece pri instalaci vis.

Snad uz naposled ( asi si nerozumime )

Ze stanice vidim adresar "X:\Aplikace\Data"
coz odpovida ceste "\\server\shared\Aplikace\Data"
a mi by se hodilo, kdybych znal lokalni cestu pro server tj.
"D:\DataAApp\shared\Aplikace\Data"

Mohl bych zalozit databazi na serveru.

Pokud to neznam, tak "z programatorskeho hlediska" je to pro mne snadnejsi:
pro instalaci(chod) programu dam podminku "je treba zalozit databazi ..."

Pavel



Odpovedá: Viktor Marek

4. 11. 2004 8:32

Zdravim

Prolezl jsem konferenci a web. Prispevku na tema DCOM je dost, ale moc
moudry z toho nejsem. Bylo by mozno poskytnout nekaky prikladek na DCOM
server - klient?

Diky

Viktor Marek
viktor@vol.cz

> Existuje
> > nejaky zpusob (prikaz) aby se aplikaci spustene po siti vracela cesta
toho
> > PC kde je aplikace fyzicky umistena? (c:\nejaky adresar\"
> Presne na tento problem se hodi DCOM server. Program muzes spustit z
> jakehokoliv pocitace a presto vzdy bezi jen tam kde je exe. My takhle mame
> udelane napr. zalohovani na FB a neni to nic sloziteho..


Odpovedá: Jan Sebelik

4. 11. 2004 9:53

> Prolezl jsem konferenci a web. Prispevku na tema DCOM je dost, ale moc
> moudry z toho nejsem. Bylo by mozno poskytnout nekaky prikladek na DCOM
> server - klient?

Prikladek je jedna vec, ale tak jednoduche to neni.
Problematika s tim spojena viz osnovy kurzu (www.haes.cz).

Vicevrstve aplikace (4 dny)
COM/DCOM (3 dny)
Distribuovane aplikace .NET (4 dny)
COM/DCOM vs. .NET (3 dny)

Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes.cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347 735)
====================================